#协程
#又叫微线程 也是一种多线程 比线程更小,占用更小资源
#进程和线程都是由程序触发系统接口,最后执行者为系统,而协程的操作是程序员
#使用场景 1当线程内io操作过多时 2高并发情况
#greenlet 由c语言编写的 遇到io操作会堵塞 属于手动切换 通过switch
#这是第三方模块 安装 python -m pip install 模块名 ;卸载 uninstall ;查看已安装模块 pip list
from greenlet import greenlet
def sing():
    print("开始唱歌")
    print("唱歌结束")
def dance():
    print("开始跳舞")
    print("跳舞结束")
if __name__ == '__main__':
    #创建协程对象 greenlet(任务名)
    t1 = greenlet(sing)
    t2 = greenlet(dance)
    t1.switch() #切换到t1中运行
    t2.switch()
